1. Statement of the Technical Field
The present invention relates to collaborative computing environments and, in particular, to mapping attributes defining abstract roles within a collaborative computing community to independently defined roles.
2. Description of the Related Art
Collaborative computing provides a means for users to pool their strengths and experiences to achieve a common goal. For example, a common goal may be an educational objective, the completion of a software development project or even creation and use of a system to manage human resources. The establishment of a collaborative computing environment typically involves the creation or definition of a community. The community provides the framework under which the collaborative computing objective is achieved.
A collaborative computing community is defined by (1) a particular context, i.e. the objective of the community, (2) membership, i.e., the participants in the community, and (3) a set of roles for the community members. Roles are names given to the people in the community which dictate access to the community's resources and tools as well as define the behavior of the community members. Community creators or administrators may desire that the abstract roles have specific access and policy attributes for the different business components, i.e. tools, resources, etc. within the community. The access and policy attributes for the abstract roles in one community may be identical to the access and policy attributes for the abstract, but different roles in another community.
Current collaborative computing environments require that the attributes for each abstract role be defined within each specific community. For example, abstract roles in a community relating to an on-line education system may include Teacher and Student. The Teacher role may be configured to act as a manager to create, delete and modify access to a particular instance of a business component, e.g. discussion list. Another community in the system relating to software development may have an abstract role named Developer configured to act as a manager to create, delete and modify access to a particular instance of a business component. Although the roles of Teacher and Developer have the same access policy to instances in their respective environments, current collaborative computing systems require individual configuration for each role. It is desirable to have a method and system which allows for the creation of abstract permission policies with the ability to “glue” these policies to abstract roles in a way that is reusable.